Skip to content

Enhancement, add SoT blocks to one point cutscene skip#6848

Open
djevangelia wants to merge 3 commits into
HarbourMasters:developfrom
djevangelia:sotblocks
Open

Enhancement, add SoT blocks to one point cutscene skip#6848
djevangelia wants to merge 3 commits into
HarbourMasters:developfrom
djevangelia:sotblocks

Conversation

@djevangelia

@djevangelia djevangelia commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Fixes #4703.

The skip does redirect the camera like the cutscene would to prevent disorientation.
https://www.youtube.com/watch?v=RJVqCsatpjg

There's apparently an "alt" type of SoT blocks (certain params on spawn) that have their own action functions. I didn't go looking for them but just added the same skip to their cutscene call.

I tested on SoT blocks in GTG and at Dampe/Windmill. If there are any blocks that need their cutscene retained for some reason it can of course be added.

Build Artifacts

ObjTimeblock_SpawnDemoEffect(this, play);
this->demoEffectTimer = 160;

// Possibly points the camera to this actor

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's several years old, from before OnePointCutscene_Attention was named, so it's rather it just hasn't been removed since search-and-replacing the function and should be removed in decomp. But with the merge rate right now it's not realistic to get that in for months... I can re-add it to keep consistency with decomp.

@Pepper0ni

Copy link
Copy Markdown
Contributor

The test spot I use to test this (as it's most affected by it), the 4 beamos to SoT room in MQ spirit, still has Link frozen in place in a one-point until a few seconds after the melody ends, while usually link gets control back a few seconds before.

Additionally, playing SoT for the windmill/Dampe race blocks with all skips on seems to trigger windmill man giving the player song of storms even though the player is nowhere near him. strangly this only happens if you are on the dampe race side of the blocks.

@serprex serprex requested a review from Pepper0ni July 3, 2026 18:15
@djevangelia

Copy link
Copy Markdown
Contributor Author

Thanks for testing!

  1. Obj_Warp2block cutscene eliminated 🎯

  2. I tested in decomp with removed timeblock cutscene and could also trigger the SoS learning, but only when entering through Windmill (but not always, so not clear if connection).
    I don't have logging set up for Ocarina interactions in decomp, but I suspect that En_Fu doesn't have a range for reacting to if player has an Ocarina-related playerstate or to the play->msgCtx.ocarinaMode, and not having the cutscene makes En_Fu susceptible to reacting to it.
    But, isn't this long-distance learning used in some trick? I don't want to ruin it by putting a distance check in En_Fu that could be too short.
    Should the skip be disabled in Windmill for now?

  3. While testing above on decomp I did get a floating point exception crash in a vector math function with SoT, which could be related to calling Play_InitCameraDataUsingPlayer (func_800C0808). So I removed it for now, it's only aesthetics and orientation, but I find it's disorienting, so if I learn more about cameras I'll revisit it.

@Pepper0ni

Pepper0ni commented Jul 3, 2026

Copy link
Copy Markdown
Contributor
  1. ...

Removing the skip on the windmill block is fine for now, leave a comment about why for documentation, and we can potentially have the glitch experts look at what's going on later to see if there's a better answer.

@djevangelia

Copy link
Copy Markdown
Contributor Author

During testing of location restriction now I did find out that the cutscene skip is actually completely irrelevant for the Song of Storms learning, it is purely based on whether EnFu is spawned or not.
This is decomp without any cutscene or Ocarina stuff modified, just that EnFu hasn't been despawned on room change by bypassing En_Holl planes: https://www.youtube.com/watch?v=WJoFZba21Ys (and from the beginning showing doesn't work if EnFu not spawned + works with SoS, https://www.youtube.com/watch?v=7WTFiNXElQM)
So windmill/grave timeblocks can be cutscene skipped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[decelop and release] SoT Blocks in spirit MQ (and possibly other places) Have One Points even with all skips on

3 participants